inputs and outputs